home *** CD-ROM | disk | FTP | other *** search
- *****************************************************************************
-
- ******************
- * The Demo *
- * Code *
- * By *
- * Slaine *
- * Arena! *
- ******************
-
- *****************************************************************************
- Incdir df1:
- Include source/Macro
- *****************************************************************************
- Chip
- CopCrea = $70000
- *****************************************************************************
- Pos
- Kill
- *****************************************************************************
- Lea Custom,A5
- *****************************************************************************
- Blitwait
- *****************************************************************************
- Move.l #$70000,D0
- Move.w #512*64+40,D1
- Bsr Clear
- *****************************************************************************
- Move.l #$00010001,Part ; Start With Bobs
- *****************************************************************************
- MainLoop
- Bsr SelectPart
- TstMice MainLoop ; Wait For Mouse
- *****************************************************************************
- Heal
- Clr.l d0
- Rts
- *****************************************************************************
- Clear
- Move.l D0,Bltdpth(a5)
- Move.l #0,Bltafwm(a5)
- Move.w #0,Bltdmod(a5)
- Move.l #$01000000,Bltcon0(a5)
- Move.w D1,Bltsize(a5)
- Blitwait
- Rts
- *****************************************************************************
- SelectPart
- Cmp.w #1,Part
- Beq BobLoop
- Cmp.w #2,Part
- Beq Doapear
- Cmp.w #3,Part
- Beq Wiggle
- Rts
- *****************************************************************************
- Part Dc.l 0
- PartToRn
- Dc.w 2
- *****************************************************************************
- BobLoop
- Cmp.b #72,$dff006
- Bne BobLoop
- Cmp.w #1,Part+2
- Beq SetBobPar
- Tst.l BobDel
- Beq OutOfTheBobs
- Eor.w #$7e00,ScreenPtr+2
- Eor.w #$7e00,Cop1l+2
- Eor.w #$7e00,Cop2l+2
- Eor.w #$7e00,Cop3l+2
- Eor.w #$7e00,Cop4l+2
- Bsr ClearCopBobs
- Bsr DoBobs
- Bsr DoCop
- Sub.l #1,BobDel
- Cmp.l #99,BobDel
- Bgt LeaveBobs
- Move.l CopDst,A0
- Move.l #$01000200,(a0)
- Sub.l #88,CopDst
- LeaveBobs
- Bsr UpDate
- Rts
- OutOfTheBobs
- Move.w PartToRn,Part
- Move.w #$0001,Part+2
- Rts
- *****************************************************************************
- SetBobPar
- Move.l #Copper1,Cop1lch(a5) ; Init Copper
- Move.l #300,BobDel
- Move.l #CopEnd-64-44,CopDst
- Bsr CreateCop1
- Clr.w Part+2
- Rts
- *****************************************************************************
- BobDel Dc.l 300
- CopDst Dc.l CopEnd-64
- *****************************************************************************
- ClearCopBobs
- Blitwait
- Move.l #$01000000,Bltcon0(a5)
- Move.w #$0000,Bltdmod(a5)
- Move.l ScreenPtr,A1
- Move.l a1,Bltdpth(A5)
- Move.l #-1,Bltafwm(a5)
- Move.w #200*64+40,Bltsize(a5)
- Movem.l a0-a6/d0-d7,-(a7)
- Movem.l RegFiller(pc),a1-a6/d0-d7
- Move.l ScreenPtr,A0
- Add.l #32000,A0
- Rept 286
- Movem.l a1-a6/d0-d7,-(a0)
- Endr
- Movem.l (a7)+,a0-a6/d0-d7
- Rts
- RegFiller
- Dcb.l 16,0
- Rts
- *****************************************************************************
- DoBobs
- Blitwait
- Move.w #32,Bltdmod(a5)
- Move.w #32,Bltcmod(a5)
- Move.w #-2,Bltamod(a5)
- Move.w #-2,Bltbmod(a5)
- Move.w #$ffff,Bltafwm(a5)
- Move.w #$0000,Bltalwm(a5)
- Move.l #BobsMsk,Bltapth(a5)
- Move.l #Bobs,Bltbpth(a5)
- Move.w #320*64+4,d6
- Lea BobForm1+4,A0
- Lea Shifts,A1
- Lea Xsin,A2
- Lea Bltcon0(a5),A3
- Lea Bltcpth(a5),A4
- Lea Bltsize(a5),A6
- Lea Bltdpth(a5),a5
- Move.l ScreenPtr,d7
- Move.l #$200,d2
- Rept 5
- Move.l d7,d1
- Move.w (a0)+,D0 ; X
- Move.w (a2,d0),d0
- Add.w (a1,d0),d1
- Move.l 2(a1,d0),(A3)
- Move.w (a0)+,D0 ; Y
- Add.w D2,D0
- Add.w (A2,d0),d1 ; Add y
- Move.l d1,(a4)
- Move.l d1,(a5)
- Move.w d6,(a6)
- Endr
- Lea Custom,a5
- Rts
- *****************************************************************************
- UpDate
- Lea BobForm1,A0
- Move.l (a0)+,d7
- Move.l #$01fe01fe,D6
- Rept 5
- Add.l d7,(a0)
- And.l d6,(a0)+
- Endr
- Rts
- *****************************************************************************
- Include Demo/Shifts
- *****************************************************************************
- CreateCop1
- Lea BobCopStart,A0
- Move.l #200-1,D7
- Move.l #$48ddfffe,D0
- CopLoop1
- Move.l D0,(a0)+
- Move.w #Color10,(a0)+
- Clr.w (a0)+
- Move.w #Color09,(a0)+
- Clr.w (a0)+
- Move.w #Color08,(a0)+
- Clr.w (a0)+
- Move.w #Color07,(a0)+
- Clr.w (a0)+
- Move.w #Color06,(a0)+
- Clr.w (a0)+
- Move.w #Color05,(a0)+
- Clr.w (a0)+
- Move.w #Color04,(a0)+
- Clr.w (a0)+
- Move.w #Color03,(a0)+
- Clr.w (a0)+
- Move.w #Color02,(a0)+
- Clr.w (a0)+
- Move.w #Color01,(a0)+
- Clr.w (a0)+
- Add.l #$01000000,d0
- Dbf D7,CopLoop1
- Move.l #$1009fffe,(a0)+
- Move.l #$0180000f,(a0)+
- Move.l #$01000200,(a0)+
- Move.l #$1109fffe,(a0)+
- Move.l #$01800000,(a0)+
- Rts
- *****************************************************************************
- DoCop
- Blitwait
- Move.l #Col1,Bltapth(a5)
- Move.l #$09f00000,Bltcon0(a5)
- Move.l #-1,Bltafwm(A5)
- Move.w #0,Bltamod(A5)
- Move.w #42,Bltdmod(A5)
- Move.w #72*64+1,D3
- Move.l #BobCopStart+6+(0*44),A2
- Lea BobForm1+4,a0
- Lea YCopSin,a1
- Move.l #4,D1
- Rept 5
- Move.w 2(A0),d0
- Move.w (a1,d0),d0
- Add.w d0,a2
- Move.l A2,Bltdpth(a5)
- Move.w d3,Bltsize(a5)
- Sub.w d0,a2
- Add.w D1,A2
- Move.w 2(A0),d0
- Move.w (a1,d0),d0
- Add.w d0,a2
- Move.l A2,Bltdpth(a5)
- Move.w d3,Bltsize(a5)
- Sub.w d0,a2
- Add.w D1,A2
- Add.w D1,A0
- Endr
- Rts
- *****************************************************************************
- Include Demo/BobCols
- *****************************************************************************
- Doapear
- Pos
- Cmp.w #$0001,Part+2
- Beq SetApearPar
- Bsr BlitOn
- Rts
- SetApearPar
- Clr.w Part+2
- Blitwait
- Move.l #$70000,Bltdpth(a5)
- Move.l #-1,Bltafwm(a5)
- Move.w #0,Bltdmod(a5)
- Move.l #$01000000,Bltcon0(a5)
- Move.w #256*64+20,Bltsize(a5)
- Blitwait
- Move.l #$73000,Bltdpth(a5)
- Move.w #256*64+20,Bltsize(a5)
- Blitwait
- Move.l #Copper2,Cop1lch(a5)
- Bsr PrintPage
- Clr.l Xpos
- Clr.l Ypos
- Move.w #100,Del1
- Rts
- *****************************************************************************
- Del dc.w 0
- Del1 Dc.w 0
- *****************************************************************************
- BlitOn
- Tst.w Del
- Beq shaba
- Sub.w #1,Del
- Rts
- shaba
- Cmp.l #$2080,YPos
- Beq FadeDown
- Move.w #2,Del
- Move.l #$0dc00000,Bltcon0(a5)
- Move.l #-1,Bltafwm(a5)
- Move.w #38,Bltdmod(a5)
- Move.w #38,Bltamod(a5)
- Move.w #00,Bltbmod(a5)
- Move.l #Apear1,A0
- Move.l a0,Bltbpth(a5)
- Lea $70000-(16*40),a0 ; Src
- Lea $73000-(16*40),A1 ; Dst
- Move.l #9-1,d7 ; Number Of Chars
- Move.l XPos,d0 ; X
- Move.l Ypos,d1 ; Y
- Apear
- Add.w D0,A0
- Add.w D1,A0
- Add.w D0,A1
- Add.w D1,A1
- Move.l a0,Bltapth(a5)
- Move.l a1,Bltdpth(a5)
- Move.w #16*64+1,Bltsize(a5)
- Sub.w D0,A0
- Sub.w D1,A0
- Sub.w D0,A1
- Sub.w D1,A1
- Add.w #2,D0
- Cmp.w #40,D0
- Blt Leavex
- Clr.w D0
- Add.w #16*40,D1
- Leavex
- Dbf d7,Apear
- Add.l #2,Xpos
- Cmp.l #40,Xpos
- Blt Shaga
- Clr.l Xpos
- Add.l #16*40,Ypos
- Shaga
- Rts
- *****************************************************************************
- PrintPage
- Move.l #$09f00000,Bltcon0(a5)
- Move.l #-1,Bltafwm(a5)
- Move.w #38,Bltdmod(a5)
- Move.w #38,Bltamod(a5)
- Move.l pagePtr,A0
- Move.l #$70000,D1
- Move.l #12-1,D6
- Loop1
- Move.l #20-1,D7
- Loop2
- Clr.l D0
- Clr.l D2
- Move.b (a0)+,D0
- Sub.b #32,d0
- Divu #20,d0
- Move.w d0,d2
- Mulu #40*16,d2
- Swap d0
- Add.w d0,d0
- Add.w d0,d2
- Add.l #Font,D2
- Blitwait
- Move.l D2,Bltapth(A5)
- Move.l D1,Bltdpth(A5)
- Move.w #16*64+1,Bltsize(a5)
- Add.w #2,D1
- Dbf D7,Loop2
- Add.w #(16*40)-40,d1
- Dbf D6,Loop1
- Rts
- *****************************************************************************
- FadeDown
- Cmp.w #0,Del1
- Beq.s GoOn
- Sub.w #1,Del1
- Rts
- GoOn
- Cmp.w #$002,FadeDis+6
- Beq.s VarSkip1
- Sub.w #$111,FadeDis+6
- VarSkip1
- Cmp.w #$002,FadeDis+10
- Beq.s VarSkip2
- Sub.w #$111,FadeDis+10
- VarSkip2
- Sub.w #$111,FadeDis+2
- Cmp.w #$002,FadeDis+2
- Beq.s FadeFin
- Rts
- *****************************************************************************
- FadeFin
- Move.w #$ddf,FadeDis+2
- Move.w #$446,FadeDis+6
- Move.w #$88a,FadeDis+10
- Move.l PagePnt,A0
- Move.l (a0)+,D0
- Cmp.l #-1,D0
- Bne.s Pageon
- Move.l #PageFile,A0
- Move.l (a0)+,D0
- Pageon
- Move.l A0,PagePnt
- Swap D0
- Cmp.w #$ffff,D0
- Bne.s GoDoText
- Swap D0
- Move.w D0,Part
- Move.w #$0001,Part+2
- Move.l (a0)+,d0
- Move.l A0,PagePnt
- Move.l D0,PagePtr
- Rts
- GoDoText
- Swap D0
- Move.l D0,PagePtr
- Bsr SetApearPar
- Rts
- *****************************************************************************
- PagePtr
- Dc.l Page1
- *****************************************************************************
- PagePnt
- Dc.l PageFile
- PageFile
- Dc.l Page2,Page3,Page4
- Dc.w $ffff,3
- Dc.l Page1,-1
- *****************************************************************************
- Page1
- Dc.b " "
- Dc.b " "
- Dc.b " "
- Dc.b " "
- Dc.b " PRESENT! "
- Dc.b " A COOL "
- Dc.b " NEW DEMO "
- Dc.b " CALLED "
- Dc.b " "
- Dc.b " "
- Dc.b " "
- Dc.b " "
- Page2
- Dc.b " "
- Dc.b " "
- Dc.b "--------------------"
- Dc.b "*** * *** * * "
- Dc.b " * * * * * * * "
- Dc.b " * * * * *** * "
- Dc.b " * * * * * ** "
- Dc.b "--------------------"
- Dc.b " CONTRAST "
- Dc.b "--------------------"
- Dc.b " "
- Dc.b " "
- Page3
- Dc.b " "
- Dc.b " CREDITS "
- Dc.b " "
- Dc.b " "
- Dc.b " "
- Dc.b " CODE:SLAINE "
- Dc.b " GFX:EFFEX "
- Dc.b " MUSIC:NONE YET "
- Dc.b " "
- Dc.b " "
- Dc.b " "
- Dc.b " "
-
- Page4
- Dc.b " "
- Dc.b " "
- Dc.b " "
- Dc.b "1 PIXEL COPPERS SEEM"
- Dc.b " TO BE THE IN THING "
- Dc.b " JUST BECAUSE THEY! "
- Dc.b " ARE SO EASY TO DO! "
- Dc.b "CHECK MY 10 MINS OFF"
- Dc.b " CODE OUT NOW "
- Dc.b " "
- Dc.b " "
- Dc.b " "
- *****************************************************************************
- Wiggle
- Pos
- Cmp.w #$0001,Part+2
- Beq SetWiggle
- Tst.l WiggleDel
- Beq OutOfWig
- Sub.w #1,WiggleDel
- SaveAll
- Bsr DoBitmapscop
- LoadAll
- Bsr CopSin
- Rts
- OutOfWig
- Move.w PartToRn,Part
- Move.w #$0001,Part+2
- Rts
- SetWiggle
- Move.w #300,WiggleDel
- Lea CopCrea,A0
- Lea Copper3,A1
- CopLoop2
- Move.l (a1)+,D0
- Cmp.l #$fffffffe,D0
- Beq.s OutOfCop
- Move.l D0,(a0)+
- Bra CopLoop2
- OutOfCop
- Move.l #202-1,D7
- Move.l #$4509fffe,d0
- CreatLoop
- A Set $0182
- Rept 31
- Move.w #a,(a0)+
- Move.w #$002,(a0)+
- A Set A+2
- Endr
- Add.l #$01000000,D0
- Move.l d0,(a0)+
- Dbf D7,CreatLoop
- Move.l #$1009fffe,(a0)+
- Move.l #$0180000f,(a0)+
- Move.l #$01000200,(a0)+
- Move.l #$1109fffe,(a0)+
- Move.l #$01800000,(a0)+
- A Set $0182
- Rept 31
- Move.w #$002,(a0)+
- A Set A+2
- Endr
- Move.l #$fffffffe,(a0)+
- Clr.w ScrollCop
- Move.l #$70000,Cop1lch(a5)
- Clr.w Part+2
- Rts
- DoBitmapscop
- Lea CopCrea,A0
- Lea Copper3,A1
- CopLoop3
- Move.l (a1)+,D0
- Cmp.l #$fffffffe,D0
- Beq.s OutOfCop1
- Move.l D0,(a0)+
- Bra CopLoop3
- OutOfCop1
- Cmp.w #42,WiggleDel
- Blt RightCops
- Move.l #Pic1x,D0 ; Init Bitmaps
- Add.l ScrollCop,D0
- Cmp.l #44,ScrollCop
- Beq.s LeaveCopS
- Add.l #2,ScrollCop
- LeaveCopS
- PlaneOn D0,CopBit1l+2,CopBit1h+2
- Add.l #88,D0
- PlaneOn D0,CopBit2l+2,CopBit2h+2
- Add.l #88,D0
- PlaneOn D0,CopBit3l+2,CopBit3h+2
- Add.l #88,D0
- PlaneOn D0,CopBit4l+2,CopBit4h+2
- Add.l #88,D0
- PlaneOn D0,CopBit5l+2,CopBit5h+2
- Rts
- RightCops
- Move.l #Pic1x,D0 ; Init Bitmaps
- Add.l ScrollCop,D0
- Cmp.l #0,ScrollCop
- Beq.s LeaveCopS1
- Sub.l #2,ScrollCop
- LeaveCopS1
- PlaneOn D0,CopBit1l+2,CopBit1h+2
- Add.l #88,D0
- PlaneOn D0,CopBit2l+2,CopBit2h+2
- Add.l #88,D0
- PlaneOn D0,CopBit3l+2,CopBit3h+2
- Add.l #88,D0
- PlaneOn D0,CopBit4l+2,CopBit4h+2
- Add.l #88,D0
- PlaneOn D0,CopBit5l+2,CopBit5h+2
- Rts
- *****************************************************************************
- WiggleDel
- Dc.l 0
- ScrollCop
- Dc.l 0
- *****************************************************************************
- CopSin
- Move.l #$09f00000,Bltcon0(a5)
- Move.w #126,Bltdmod(a5)
- Move.w #000,Bltamod(a5)
- Move.l #-1,Bltafwm(a5)
- Move.w #31-1,D7 ; Number Of Colours
- Move.l #CopCrea+$5A,D2
- Move.w #202*64+1,D3
- Lea Form1,A0
- Lea Sin1,A1
- Move.w #2,D4
- Move.w #$1fe,d5
- CopLoop
- Move.l (a0)+,D0
- Move.w (a0),d1
- Add.w d4,(a0)
- And.w d5,(a0)+
- Add.w (a1,d1),d0
- Move.l D0,Bltapth(a5)
- Move.l D2,Bltdpth(a5)
- Move.w D3,Bltsize(a5)
- Add.w #4,D2
- Dbf D7,CopLoop
- Rts
- *****************************************************************************
- ColPat1
- Rept 7
- Dc.w $fff,$eff,$dff,$cff,$bff,$aff,$9ff,$8ff
- Dc.w $7ff,$6ff,$5ff,$4ff,$3ff,$2ff,$1ff,$0ff
- Dc.w $1fe,$2fd,$3fc,$4fb,$5fa,$6f9,$7f8,$8f7
- Dc.w $9f6,$af5,$bf4,$cf3,$df2,$ef1,$ff0,$fe1
- Dc.w $fd2,$fc3,$fb4,$fa5,$f96,$f87,$f78,$f69
- Dc.w $f5a,$f4b,$f3c,$f2d,$f1e,$f0f,$f1f,$f2f
- Dc.w $f3f,$f4f,$f5f,$f6f,$f7f,$f8f,$f9f,$faf
- Dc.w $fbf,$fcf,$fdf,$fef
- Endr
-
- *****************************************************************************
- Form1
- A Set 0
- Rept 31
- Dc.l ColPat1
- Dc.w (A&$1fe)
- A Set a+4
- Endr
- *****************************************************************************
- Sin1
- Include Demo/Sintab2
- Include Demo/Sintab2
- *****************************************************************************
- Pic1x Incbin Gfx/Wig1.bm
- *****************************************************************************
- Copper1
- Spr_Off ; Switch sprites off
- Cmove $2c81,Diwstrt
- Cmove $2cc1,Diwstop
- Cmove $0038,Ddfstrt
- Cmove $00d0,Ddfstop
- Cmove $0078,Bpl1mod
- Cmove $0078,Bpl2mod
- dc.w $0180,$0000,$0182,$0fff,$0184,$0ddd,$0186,$0ccc
- dc.w $0188,$0bbb,$018a,$0999,$018c,$0888,$018e,$0666
- dc.w $0190,$0555,$0192,$0333,$0194,$0222,$0196,$0540
- dc.w $0198,$0750,$019a,$0960,$019c,$0b70,$019e,$0d90
- Cwait 68,0
- Cmove $000f,Color00 ; Col Of Top Line
- Cwait 69,0
- Cmove $0002,Color00 ; Page Col
- Cwait 71,0
- Cmove $0007,Bpl1pth
- Cop1l Cmove $0000,Bpl1ptl
- Cmove $0007,Bpl2pth
- Cop2l Cmove $0028,Bpl2ptl
- Cmove $0007,Bpl3pth
- Cop3l Cmove $0050,Bpl3ptl
- Cmove $0007,Bpl4pth
- Cop4l Cmove $0078,Bpl4ptl
- Cmove $4200,Bplcon0
- BobCopStart
- Dcb.b 8820
- CopEnd
- EndCop
- *****************************************************************************
- Copper2
- Cmove $2881,Diwstrt
- Cmove $2cc1,Diwstop
- Cmove $0038,Ddfstrt
- Cmove $00d0,Ddfstop
- Cmove $0002,Bplcon1
- Cmove $0000,Bpl1mod
- Cmove $0000,Bpl2mod
- Cmove $0000,Color00
- FadeDis
- Cmove $0ddf,Color02
- Cmove $0446,Color01
- Cmove $088a,Color03
- Cwait 68,0
- Cmove $000f,Color00 ; Col Of Top Line
- Cwait 69,0
- Cmove $0002,Color00 ; Page Col
- Cwait 72,0
- Cmove $3000,Bpl1ptl
- Cmove $0007,Bpl1pth
- Cmove $3028,Bpl2ptl
- Cmove $0007,Bpl2pth
- Cmove $2200,Bplcon0
- Pal
- Cwait 16,0
- Cmove $000f,Color00
- Cmove $0200,Bplcon0
- Cwait 17,0
- Cmove $0000,Color00
- EndCop
- *****************************************************************************
- Copper3
- Cmove $2871,Diwstrt
- Cmove $2cd1,Diwstop
- Cmove $0028,Ddfstrt
- Cmove $00d0,Ddfstop
- Cmove $00bb,Bplcon1
- Cmove -44,Bpl1mod
- Cmove -44,Bpl2mod
- CopBit1l Cmove $0000,Bpl1ptl
- CopBit1h Cmove $0000,Bpl1pth
- CopBit2l Cmove $0000,Bpl2ptl
- CopBit2h Cmove $0000,Bpl2pth
- CopBit3l Cmove $0000,Bpl3ptl
- CopBit3h Cmove $0000,Bpl3pth
- CopBit4l Cmove $0000,Bpl4ptl
- CopBit4h Cmove $0000,Bpl4pth
- CopBit5l Cmove $0000,Bpl5ptl
- CopBit5h Cmove $0000,Bpl5pth
- Cwait 68,0
- Cmove $000f,Color00 ; Col Of Top Line
- Cwait 69,0
- Cmove $0002,Color00 ; Page Col
- Cmove $5200,Bplcon0
- EndCop
- *****************************************************************************
- BobForm1
- Dc.w 4,2 ; Xupdate, Yupdate
- Dc.w 000,000 ; X,Y
- Dc.w 050,050 ; X,Y
- Dc.w 100,100 ; X,Y
- Dc.w 150,150 ; X,Y
- Dc.w 200,200 ; X,Y
- *****************************************************************************
- Include Demo/SinTab1
- *****************************************************************************
- Bobs Incbin Gfx/BigBobs.Bm
- BobsMsk Incbin Gfx/BigBobsMsk.Bm
- *****************************************************************************
- ScreenPtr
- dc.l $70000
- *****************************************************************************
- Font
- Incbin Gfx/16x16.bm
- *****************************************************************************
- XPos Dc.l 0
- YPos Dc.l 0
- Apear1
- Incbin Gfx/ApearText1
- Incbin Gfx/ApearText1
- *****************************************************************************
-
-